package cn.iocoder.yudao.module.eval.enums;

import cn.iocoder.yudao.framework.common.exception.ErrorCode;

/**
 * Eval 错误码枚举类
 *
 * eval 系统，使用 1-003-000-000 段
 */
public interface ErrorCodeConstants {

    // ========== 职业工种 1-003-001-000 ==========
    ErrorCode PROFESSION_NOT_EXISTS = new ErrorCode(1_003_001_000, "职业工种不存在");
    ErrorCode PROFESSION_CODE_DUPLICATE = new ErrorCode(1_003_001_001, "职业代码已存在");

    // ========== 评价计划 1-003-002-000 ==========
    ErrorCode PLAN_NOT_EXISTS = new ErrorCode(1_003_002_000, "评价计划不存在");
    ErrorCode PLAN_CODE_DUPLICATE = new ErrorCode(1_003_002_001, "计划编码已存在");
    ErrorCode PLAN_STATUS_NOT_ALLOW_UPDATE = new ErrorCode(1_003_002_002, "计划状态不允许修改");
    ErrorCode PLAN_STATUS_NOT_ALLOW_DELETE = new ErrorCode(1_003_002_003, "计划状态不允许删除");

    // ========== 评价科目 1-003-003-000 ==========
    ErrorCode SUBJECT_NOT_EXISTS = new ErrorCode(1_003_003_000, "评价科目不存在");
    ErrorCode SUBJECT_PLAN_NOT_EXISTS = new ErrorCode(1_003_003_001, "评价科目关联的计划不存在");

    // ========== 考评员资质 1-003-004-000 ==========
    ErrorCode EVALUATOR_QUALIFICATION_NOT_EXISTS = new ErrorCode(1_003_004_000, "考评员资质不存在");
    ErrorCode EVALUATOR_QUALIFICATION_USER_DUPLICATE = new ErrorCode(1_003_004_001, "该用户的考评员资质已存在");
    ErrorCode EVALUATOR_QUALIFICATION_CERTIFICATE_DUPLICATE = new ErrorCode(1_003_004_002, "证书编号已存在");

    // ========== 人员分配 1-003-005-000 ==========
    ErrorCode PERSONNEL_ASSIGNMENT_NOT_EXISTS = new ErrorCode(1_003_005_000, "人员分配不存在");
    ErrorCode PERSONNEL_ASSIGNMENT_DUPLICATE = new ErrorCode(1_003_005_001, "该人员在此计划中已分配");
    ErrorCode PERSONNEL_ASSIGNMENT_PLAN_NOT_EXISTS = new ErrorCode(1_003_005_002, "人员分配关联的计划不存在");

    // ========== 申报条件 1-003-006-000 ==========
    ErrorCode APPLICATION_CONDITION_NOT_EXISTS = new ErrorCode(1_003_006_000, "申报条件不存在");

    // ========== 参评人员信息 1-003-007-000 ==========
    ErrorCode CANDIDATE_INFO_NOT_EXISTS = new ErrorCode(1_003_007_000, "参评人员信息不存在");
    ErrorCode CANDIDATE_INFO_DUPLICATE = new ErrorCode(1_003_007_001, "该身份证号在此计划中已存在");
    ErrorCode CANDIDATE_INFO_PLAN_NOT_EXISTS = new ErrorCode(1_003_007_002, "参评人员信息关联的计划不存在");

    // ========== 评分数据 1-003-008-000 ==========
    ErrorCode SCORE_RECORD_NOT_EXISTS = new ErrorCode(1_003_008_000, "评分数据不存在");
    ErrorCode SCORE_RECORD_DUPLICATE = new ErrorCode(1_003_008_001, "该考生在此科目中已有评分记录");
    ErrorCode SCORE_RECORD_STATUS_NOT_ALLOW_UPDATE = new ErrorCode(1_003_008_002, "评分状态不允许修改");

    // ========== 成绩汇总 1-003-009-000 ==========
    ErrorCode SCORE_SUMMARY_NOT_EXISTS = new ErrorCode(1_003_009_000, "成绩汇总不存在");
    ErrorCode SCORE_SUMMARY_DUPLICATE = new ErrorCode(1_003_009_001, "该考生在此计划中已有成绩汇总");
    ErrorCode SCORE_SUMMARY_CALCULATION_ERROR = new ErrorCode(1_003_009_002, "成绩计算错误");

    // ========== 公告发布 1-003-010-000 ==========
    ErrorCode ANNOUNCEMENT_NOT_EXISTS = new ErrorCode(1_003_010_000, "公告不存在");
    ErrorCode ANNOUNCEMENT_STATUS_NOT_ALLOW_UPDATE = new ErrorCode(1_003_010_001, "公告状态不允许修改");
    ErrorCode ANNOUNCEMENT_PLAN_NOT_EXISTS = new ErrorCode(1_003_010_002, "公告关联的计划不存在");

    // ========== 异议处理 1-003-011-000 ==========
    ErrorCode OBJECTION_NOT_EXISTS = new ErrorCode(1_003_011_000, "异议不存在");
    ErrorCode OBJECTION_STATUS_NOT_ALLOW_UPDATE = new ErrorCode(1_003_011_001, "异议状态不允许修改");
    ErrorCode OBJECTION_PLAN_NOT_EXISTS = new ErrorCode(1_003_011_002, "异议关联的计划不存在");

    // ========== 考勤签到 1-003-012-000 ==========
    ErrorCode ATTENDANCE_RECORD_NOT_EXISTS = new ErrorCode(1_003_012_000, "考勤记录不存在");
    ErrorCode ATTENDANCE_RECORD_DUPLICATE = new ErrorCode(1_003_012_001, "该考生在此科目中已有考勤记录");

    // ========== 评价实施监控 1-003-013-000 ==========
    ErrorCode MONITORING_DATA_NOT_EXISTS = new ErrorCode(1_003_013_000, "监控数据不存在");

    // ========== 督导检查记录 1-003-014-000 ==========
    ErrorCode SUPERVISION_RECORD_NOT_EXISTS = new ErrorCode(1_003_014_000, "督导检查记录不存在");

    // ========== 评价方式类型 1-003-015-000 ==========
    ErrorCode METHOD_TYPE_NOT_EXISTS = new ErrorCode(1_003_015_000, "评价方式类型不存在");
    ErrorCode METHOD_TYPE_CODE_DUPLICATE = new ErrorCode(1_003_015_001, "评价方式类型编码已存在");

    // ========== 评价模板 1-003-016-000 ==========
    ErrorCode TEMPLATE_NOT_EXISTS = new ErrorCode(1_003_016_000, "评价模板不存在");
    ErrorCode TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_003_016_001, "模板编码已存在");
    ErrorCode TEMPLATE_STATUS_NOT_ALLOW_UPDATE = new ErrorCode(1_003_016_002, "模板状态不允许修改");

    // ========== 评价方案 1-003-017-000 ==========
    ErrorCode SCHEME_NOT_EXISTS = new ErrorCode(1_003_017_000, "评价方案不存在");
    ErrorCode SCHEME_CODE_DUPLICATE = new ErrorCode(1_003_017_001, "方案编码已存在");

    // ========== 题库分类 1-003-018-000 ==========
    ErrorCode QUESTION_CATEGORY_NOT_EXISTS = new ErrorCode(1_003_018_000, "题库分类不存在");
    ErrorCode QUESTION_CATEGORY_CODE_DUPLICATE = new ErrorCode(1_003_018_001, "题库分类编码已存在");

    // ========== 题库 1-003-019-000 ==========
    ErrorCode QUESTION_BANK_NOT_EXISTS = new ErrorCode(1_003_019_000, "题库不存在");
    ErrorCode QUESTION_BANK_CODE_DUPLICATE = new ErrorCode(1_003_019_001, "题库编码已存在");

    // ========== 参评人员材料 1-003-020-000 ==========
    ErrorCode CANDIDATE_MATERIAL_NOT_EXISTS = new ErrorCode(1_003_020_000, "参评人员材料不存在");

// ========== 专业管理 TODO 补充编号 ==========
    ErrorCode MAJOR_NOT_EXISTS = new ErrorCode(1_003_021_000, "专业管理不存在");
    ErrorCode MAJOR_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_003_021_007, "导入专业数据为空");

    // ========== 专业大类管理 TODO 补充编号 ==========
    ErrorCode MAJOR_CATEGORY_NOT_EXISTS = new ErrorCode(1_003_021_001, "专业大类管理不存在");

    // ========== 备案管理 TODO 补充编号 ==========
    ErrorCode FILING_MANAGEMENT_NOT_EXISTS = new ErrorCode(1_003_021_002, "备案管理不存在");

    // ========== 人员名单 TODO 补充编号 ==========
    ErrorCode PERSONNEL_LIST_NOT_EXISTS = new ErrorCode(1_003_021_003, "人员名单不存在");

    // ========== 场地设备 TODO 补充编号 ==========
    ErrorCode VENUE_EQUIPMENT_NOT_EXISTS = new ErrorCode(1_003_021_004, "场地设备不存在");

    // ========== 创建备案 TODO 补充编号 ==========
    ErrorCode FILING_CREATION_NOT_EXISTS = new ErrorCode(1_003_021_005, "创建备案不存在");
    // ========== 申请开展评价的职业（工种）关联 TODO 补充编号 ==========
    ErrorCode FILING_OCCUPATION_NOT_EXISTS = new ErrorCode(1_003_021_006, "申请开展评价的职业（工种）关联不存在");
    // ========== 认定方案表 TODO 补充编号 ==========
    ErrorCode CERTIFICATION_SCHEME_NOT_EXISTS = new ErrorCode(1_003_021_006, "认定方案表不存在");
}
